Deadlock detection of active objects with synchronous and asynchronous method calls
نویسندگان
چکیده
Open distributed systems are essential in today’s software solutions. However, not all programming paradigms provide natural support for such systems. The setting of concurrent objects is attractive since it supports independent units of computation. In particular we consider concurrent objects communicating by asynchronous method calls supporting nonblocking as well as blocking method calls. In this setting waiting time can be reduced, allowing efficient cooperation between objects. With this concurrency model, deadlock is avoided if blocking calls are avoided. However, blocking calls are sometimes needed to control the order of computation. The non-hierarchical nature of concurrent objects systems gives rise to non-trivial deadlock situations. Deadlocks may occur if there is a call chain with at least one blocking call.We propose a method for static detection of deadlocks, and demonstrate its use on a non-trivial example.
منابع مشابه
Combining Active and Reactive Behavior in Concurrent Objects
A distributed system can be modeled by objects that run concurrently, each with its own processor, and communicate by remote method calls. However objects may have to wait for response to external calls; at best resulting in inefficient use of processor capacity, at worst resulting in deadlock. Furthermore, it is difficult to combine active and passive object behavior without defining explicit ...
متن کاملTranslating Active Objects into Colored Petri Nets for Communication Analysis
Actor-based languages attract attention for their ability to scale to highly parallel architectures. Active objects combine the asynchronous communication of actors with object-oriented programming by means of asynchronous method calls and synchronization on futures. However, the combination of asynchronous calls and synchronization introduces communication cycles which lead to a form of commun...
متن کاملA Run-Time Environment for Concurrent Objects With Asynchronous Method Calls
A distributed system may be modeled by objects that run concurrently, each with its own processor, and communicate by remote method calls. However objects may have to wait for response to external calls; which can lead to inefficient use of processor capacity or even to deadlock. This paper addresses this limitation by means of asynchronous method calls and conditional processor release points....
متن کاملA Dynamic Binding Strategy for Multiple Inheritance and Asynchronously Communicating Objects
This paper considers an integration of asynchronous communication, virtual binding, and multiple inheritance. Object orientation is the leading paradigm for concurrent and distributed systems, but the tightly synchronized RPC communication model seems unsatisfactory in the distributed setting. Asynchronous messages are better suited, but lack the structure and discipline of traditional object-o...
متن کاملCreol: A type-safe object-oriented model for distributed concurrent systems
Object-oriented distributed computing is becoming increasingly important for critical infrastructure in society. In standard object-oriented models, objects synchronize on method calls. These models may be criticized in the distributed setting for their tight coupling of communication and synchronization; network delays and instabilities may locally result in much waiting and even deadlock. The...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2014